import socket
# 异或加密函数
def encrypt_decrypt(data, key):#data:要加密或解密的字符串数据,key: 异或操作的密钥，是一个整数
    result = ""#将一个空字符赋值给result，用于后续返回加密或者解密后的字符串
    for char in data:# ord(char) 获取字符的Unicode码点（整数值），^ 是异或运算符， chr() 将异或操作后的整数值转换回字符
        result += chr(ord(char) ^ key)#字符拼接
    return result#返回加密或者解密后的字符串
# 创建一个新的套接字
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# 设置地址和端口
address = ('192.168.5.3', 9999)

# 绑定
server_socket.bind(address)

# 开始监听
server_socket.listen(5)
print("开始监听", address)

# 接收连接
client_socket, address = server_socket.accept()
print("我们收到了{}的连接".format(address))

while True:
    # 接收数据
    data1 = client_socket.recv(1024)
    if not data1:  # 更改这里的 adta 为 data
        break
        # 解码收到的数据
    decoded_data = data1.decode()
    print("客户端说：{}".format(decoded_data))
    # 使用密钥666对接收到的密文进行解密
    data2 = encrypt_decrypt(decoded_data, 666)
    print(data2)
    # 打开文件'fuwuduanjieshou' 以写入模式，将解密后的数据保存到文件中
    file_path = r'D:\999\fuwuduanjieshou.txt'
    with open(file_path, 'w') as file:
        file.write(data2)
        print(data2)
# 关闭连接
client_socket.close()
server_socket.close()  # 记得关闭服务